import request from '@/utils/request'
// 获取菜单列表
export function getMenusList(data) {
    return request({
        url: '/menus',
        method: 'GET',
        data
    })
}
// 菜单删除
export function delMenusList(id) {
    return request({
        url: '/menus/' + id,
        method: 'DELETE'
    })
}
// 菜单修改
export function changeMenusList(data) {
    return request({
        url: '/menus/' + data.id,
        method: 'PUT',
        data
    })
}
// 菜单添加
export function addMenusList(data) {
    return request({
        url: '/menus',
        method: 'POST',
        data
    })
}
// 菜单详情
export function detailsMenusList(id) {
    return request({
        url: '/menus/' + id,
        method: 'GET'
    })
}
// 平面转树形
export function tranListToTreeData(list, rootValue) {
    var arr = []
    list.forEach(item => {
        if (item.pid === rootValue) {
            // console.log(`pid等于${rootValue}`)
            // 找到之后 就要去找 item 下面有没有子节点
            const childs = tranListToTreeData(list, item.id)
            if (childs.length) {
                // 如果children的长度大于0 说明找到了子节点
                item.childs = childs
            }
            arr.push(item) // 将内容加入到数组中
        }
    })
    return arr
}
// 解决树形数据子级属性名不一致的方法
export function changeChildsname(list) {
    for (let i = 0; i <= list.length - 1; i++) {
        if (list[i].points) {
            list[i].childs = list[i].points
        }
        if (list[i].childs) {
            for (let j = 0; j <= list[i].childs.length - 1; j++) {
                if (list[i].childs[j].points) {
                    list[i].childs[j].childs = list[i].childs[j].points
                }
            }
        }
    }
    return list
}

export function changeAray(oldArray) {
    const res = []
    for (var i = 0; i < oldArray.length; i++) {
        // 数据没有code并且没有子元素时
        if (oldArray[i].code !== undefined) {
            res.push(oldArray[i])
        }
        // 数据有子元素时
        if (oldArray[i].childs && oldArray[i].childs.length > 0) {
            changeAray(oldArray[i].childs)
        }
    }
    return res
}